/*
 * ========================================================
 * Copyright(c) 2012 杭州偶尔科技-版权所有
 * ========================================================
 * 本软件由杭州偶尔科技所有, 未经书面许可, 任何单位和个人不得以
 * 任何形式复制代码的部分或全部, 并以任何形式传播。
 * 公司网址
 * 
 * 			http://www.hzdracom.com/
 * 
 * ========================================================
 */
package com.simon.mengkou.data.db2;

import android.database.sqlite.SQLiteDatabase;

/**
 * @author : Zhenshui.Xia
 * @date   : 2014-3-28
 * @desc   :
 */

public abstract class OuerTable {
	protected String mTableName;

	/**
	 * 创建表
	 * @param db
	 * @return
	 */
	public abstract void createTable(SQLiteDatabase db);
	
	/**
	 * 初始化表数据
	 * @param db
	 * @return
	 */
	public abstract void initTable(SQLiteDatabase db);
	
	/**
	 * 创建表索引
	 * @param db
	 * @return
	 */
	public abstract void createIndex(SQLiteDatabase db);
	
	/**
	 * 创建触发器
	 * @param db
	 * @return
	 */
	public abstract void createTrigger(SQLiteDatabase db);
	
	/**
	 * 删除表
	 * @param db
	 * @return
	 */
	public void dropTable(SQLiteDatabase db) {
		if (mTableName != null) {
			db.execSQL("DROP TABLE IF EXISTS " + mTableName);
		}
	}
	
	/**
	 * 修改表
	 * @param db
	 * @return
	 */
	public void alertTable(SQLiteDatabase db) {
		dropTable(db); 
		createTable(db);
		createIndex(db); 
		createTrigger(db);
		initTable(db);
	}
}
